#ifndef __COMMON__
#define __COMMON__

#include <list>

#define MAP_SCALE_FACTOR 20

typedef std::pair<double, double> Coordinates;

typedef std::list<Coordinates> Trajectory;
class Target {
  public:
		int id;
		int pathlength;
		int rank;
	 	Coordinates coordinate;
  
		int operator<(const Target &t) const {
			return rank < t.rank;
		};
};

class Blob {
  public:
		int id;
		Coordinates min;
		Coordinates max;
		Coordinates center;
		int num_cell;
};

//typedef std::list<Coordinates> Trajectory;
typedef std::list<Target> Targets;
typedef std::list<Blob> Blobs;

#endif
